package curso.maven.cidades.aplicacao.impl;

import java.util.List;

import curso.maven.cidades.aplicacao.api.AplicacaoCidades;
import curso.maven.cidades.negocio.Cidade;
import curso.maven.cidades.negocio.RepositorioCidades;

public class AplicacaoCidadesImpl implements AplicacaoCidades {
	private RepositorioCidades repositorioCidades;
	
	public AplicacaoCidadesImpl(RepositorioCidades repositorioCidades) {
		if (repositorioCidades == null) {
			throw new NullPointerException("Repositorio de Cidades nao pode ser NULL");
		}
		this.repositorioCidades = repositorioCidades;
	}

	@Override
	public Cidade recuperarCidadePorCodigo(String codigo) {
		return repositorioCidades.recuperarCidadePorCodigo(codigo);
	}

	@Override
	public List<Cidade> listarCidadesPorNome(String nome) {
		return repositorioCidades.listarCidadesPorNome(nome);
	}

	@Override
	public List<Cidade> listarCidadesPorUf(String uf) {
		return repositorioCidades.listarCidadesPorUf(uf);
	}
}
